home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / unixSyscall / getpgrp.c < prev    next >
C/C++ Source or Header  |  1988-06-19  |  1KB  |  56 lines

  1. /* 
  2.  * getpgrp.c --
  3.  *
  4.  *    Procedure to map from Unix getpgrp system call to Sprite.
  5.  *
  6.  * Copyright (C) 1986 Regents of the University of California
  7.  * All rights reserved.
  8.  */
  9.  
  10. #ifndef lint
  11. static char rcsid[] = "$Header: getpgrp.c,v 1.1 88/06/19 14:31:26 ouster Exp $ SPRITE (Berkeley)";
  12. #endif not lint
  13.  
  14. #include "sprite.h"
  15. #include "compatInt.h"
  16. #include "proc.h"
  17.  
  18.  
  19. /*
  20.  *----------------------------------------------------------------------
  21.  *
  22.  * getpgrp --
  23.  *
  24.  *    Procedure to map from Unix getpgrp system call to Sprite 
  25.  *    Proc_GetFamilyID. 
  26.  *
  27.  * Results:
  28.  *    UNIX_ERROR is returned upon error, with the actual error code
  29.  *    stored in errno.  Otherwise the family id of the given process is
  30.  *    returned.
  31.  *
  32.  * Side effects:
  33.  *    None.
  34.  *
  35.  *----------------------------------------------------------------------
  36.  */
  37.  
  38. int
  39. getpgrp(pid)
  40.     int pid;            /* Process to get the process group for. */
  41. {
  42.     ReturnStatus status;    /* result returned by Proc_GetFamilyID */
  43.     int         familyID;    /* Family ID of process. */
  44.  
  45.     if (pid == 0) {
  46.     pid = PROC_MY_PID;
  47.     }
  48.     status = Proc_GetFamilyID(pid, &familyID);
  49.     if (status != SUCCESS) {
  50.     errno = Compat_MapCode(status);
  51.     return(UNIX_ERROR);
  52.     } else {
  53.     return(familyID);
  54.     }
  55. }
  56.